package com.personal.service;

import com.github.pagehelper.PageInfo;
import com.personal.pojo.*;

import java.util.Date;
import java.util.List;

public interface AdminService {
    //管理员登录方法
    TAdmin login(String username,String password);

//1.会员管理：
    //1.1会员列表，显示所有会员卡未到期的会员
    List AllMem();
    //1.1.1分页显示
    PageInfo splitpage1(int pageNum,int pageSize);
    //1.1.2多条件查询会员信息
    List adminFindMem(String mindate, String maxdate, String memname);
    //1.1.2查询方法分页
    PageInfo splitpage2(int pageNum,int pageSize,String mindate, String maxdate, String memname);
    //1.2删除列表，显示删除掉的会员信息
    PageInfo CardEnd(int pageNum,int pageSize);
    //多条件查询删除的用户
    //1.1.2查询方法分页
    PageInfo splitpage3(int pageNum,int pageSize,String memname);
    //1.2.1删除会员信息，将状态置0
    int editByStates0(Integer memid);
    //1.2.2恢复
    int editByStates1(Integer memid);
    //1.3彻底删除会员信息
    int deleteByid(Integer memid);
    //批量删除,暂时的
    int delBatch(String memids);
    //批量删除,彻底的
    int delBatch2(String memids);
    //1.4修改会员信息
    int editMem(TMember member);
    //1.4.1修改前显示会员信息
    TMember editShow(Integer memid);
    //1.5添加会员信息
    int addNewMem(TMember member);
//2.教练管理
    //2.1分页显示在职教练信息
    PageInfo splitCoach(int pageNum,int pageSize);
    //2.2分页显示离职教练信息
    PageInfo splitDeCoach(int pageNum,int pageSize);
    //1.2.1删除会员信息，将状态置0
    int deCoSt0(Integer coachid);
    //1.2.2恢复
    int deCoSt1(Integer coachid);
    //1.3彻底删除会员信息
    int deleteCo(Integer coachid);
    //批量删除,暂时的
    int delBatchCoach(String memids);
    //批量删除,彻底的
    int delBatchCoach1(String memids);
    //1.4修改会员信息
    int editCoach(TCoach coach);
    //1.4.1修改前显示会员信息
    TCoach editShowCo(Integer coachid);
    //1.5添加会员信息
    int addNewCo(TCoach coach);
//3.会员卡管理
    //查询所有会员卡
    List findAllCard();
    //根据名字查询会员卡
    List findByName(String cardName);
    //根据id查卡
    TCard findById(Integer id);
    //修改
    int editCard(TCard card);
    //删除，彻底
    int delCardByid(Integer cardid);
    //添加新卡
    int addCard(TCard card);
//4.课程管理
    //课程列表，分页
    PageInfo courseSplit(int pageNum,int pageSize);
    //暂时删除课程
    int delCourse(Integer courseid);
    //彻底删除课程
    int delCourse0(Integer courseid);
    //恢复课程
    int delCourse1(Integer courseid);
    //修改回显
    TCourse selectCourseById(Integer courseid);
    //查询所有可用教练，供编辑，添加选择
    List allCoach();
    //查询所有可用教室，供编辑，添加选择
    List allClassroom();
    //修改课程信息
    int updateCourse(TCourse course);
    //查询课程
    PageInfo findCourse(int pageNum,int pageSize,String courseweek,String classroomid,String coursename);
    //添加课程
    int addCourse(TCourse course);
    //统计课程报名人数
    int countApplyMem(Integer courseid);
    //课程删除列表，分页
    PageInfo deCourseSplit(int pageNum,int pageSize);
    //根据课程名查询，模糊查询
    PageInfo findCourseName(int pageNum,int pageSize,String coursename);
    //批量删除，暂时的
    int delCourseBatch0(String courseids);
    //批量删除，彻底的
    int delCourseBatch(String courseids);
//5.课程报名信息管理
    PageInfo allApply(int pageNum,int pageSize);
    //展示删除报名信息
    int delApply0(Integer applyid);
    //修改回显
    TApply editApplyShow(Integer applyid);
    //多条件查询
    PageInfo findApplyCluase(int pageNum,int pageSize,String memname,String coursename);
    //判断是否重复添加
    boolean checkAdd(String memname,String coursename);
    //添加报名信息
    int addApply(String memname,String coursename);

//  6.教室管理
    //查询所有教室信息
    PageInfo allClassroom(int pageNum,int pageSize);
    //删除教室
    int delClassroom(Integer classroomid);
    //修改回显
    TClassroom classroomShow(Integer classroomid);
    //确认修改
    int editClassroom(TClassroom classroom);
    //添加教室信息
    int addClassroom(TClassroom classroom);
    //查询教室信息
    PageInfo findClassroom(int pageNum,int pageSize,String classroomname);
//  7.器材管理
    PageInfo allEqu(int pageNum,int pageSize);
    //查询器材
    PageInfo findEqu(int pageNum,int pageSize,String buyDate,String equname);
    //根据id查询器材回显
    TEquipment equShow(Integer equid);
    //修改器材信息
    int editEqu(TEquipment equipment);
    //添加器材
    int addEqu(TEquipment equipment);
    //暂时删除
    int deEqu0(Integer equipid);
    //彻底删除
    int delEqu1(Integer equipid);
    //删除器材信息界面
    PageInfo allDeEqu(int pageNum,int pageSize);
    //恢复
    int reEqu(Integer equipid);
}
